#include "Debug.h"
#include "stddef.h"
#include "malloc.h"
extern Mallco_dev mallco_dev; //内存管理器
/**********************************
 * 功能：回复数据
 * 参数：
 *         protocol：协议
 * 返回：回复数据
 * *******************************/
JA_BytesArray Reply_Data(JA_Protocol protocol)
{
	JA_BytesArray buf;
	buf.bytes = mymalloc(&mallco_dev, protocol.data.data_len + 8);
	if (buf.bytes)
	{
		buf.len = JA_Package(protocol, buf.bytes);
		return buf;
	}
}
/*******************************
 * 功能：回复状态
 * 参数：
 *         protocol:协议
 *         status:状态
 * 返回：数据
*******************************/
JA_BytesArray Reply_status(JA_Protocol protocol,uint8_t status)
{
	JA_Protocol r_protocol;
	r_protocol.Address=protocol.Address;
	r_protocol.CS_Vsersion=protocol.CS_Vsersion;
	r_protocol.SN=protocol.SN;
	r_protocol.data.Opcode=protocol.data.Opcode;
	r_protocol.data.data=&status;
	r_protocol.data.data_len=1;
	return Reply_Data(r_protocol);
}

/*******************************
 * 功能：设置AGV 速度命令解析
 * 参数：
 *         set:命令集
 * 返回：无
*******************************/
JA_BytesArray Set_RunModel_Parse(JA_Protocol protocol)
{
	JA_Protocol r_protocol;
	uint32_t id=0;
	//Set_AGV_RUNModel(protocol.data.data[0]);
	r_protocol.Address=protocol.Address;
	r_protocol.CS_Vsersion=protocol.CS_Vsersion;
	r_protocol.SN=protocol.SN;
	r_protocol.data.Opcode=protocol.data.Opcode;
	return Reply_status(r_protocol,1);
}


JA_BytesArray AGV_DebugParse(JA_Protocol protocol, uint8_t *command_buf)
{
	JA_BytesArray reply_buf;
	reply_buf.len = 0;
	reply_buf.bytes = NULL;
	
	switch (protocol.data.Opcode)
	{
	case (uint8_t)DebugCommand_SetSpeed:     //设置AGV速度
		break;
	case (uint8_t)DebugCommand_SetHallNavPid:  //设置PID
		break;
	case (uint8_t)DebugCommand_GetHallNav:
	  break;
	case (uint8_t)DebugCommand_SetRunModel:
	  break;
	default:
		break;
	}
	return reply_buf;
}
